<?php

namespace App\Model;

class JSONResponse
{

    protected static $successCode = 1;
    protected static $errorCode = 0;

    /**
     * 构造函数
     *
     * @return void
     */
    public function __construct()
    {
        // $this->middleware('guest');
    }

    /**
     * 返回一个成功响应的json回复结构体
     * @param null|string $msg 可选消息
     * @param array $additional 可选附加消息
     *
     * @return array
     */
    public static function success($msg = null, array $additional = [])
    {
        return $additional + [
            'code' => self::$successCode,
            "msg" => $msg,
        ];
    }

    /**
     * 返回一个失败响应的json回复结构体
     * @param null|string $msg 可选消息
     * @param array $additional 可选附加消息
     *
     * @return array
     */
    public static function error($msg = null, array $additional = [])
    {
        return $additional + [
            'code' => self::$errorCode,
            "msg" => $msg,
        ];
    }
    /**
     * 返回一个登陆失败响应的json回复结构体
     * @param null|string $msg 可选消息
     * @param array $additional 可选附加消息
     *
     * @return array
     */
    public static function loginError($msg = null, array $additional = [])
    {
        if (!$msg || !isset($msg)) {
            $msg = '登陆信息无效';
        }
        return $additional + [
            'code' => self::$errorCode,
            "msg" => $msg,
        ];
    }
    /**
     * 返回一个失败响应的json回复结构体
     * @param null|string $msg 可选消息
     * @param array $additional 可选附加消息
     *
     * @return array
     */
    public static function resetError($msg = null, array $additional = [])
    {
        if (!$msg || !isset($msg)) {
            $msg = '重设信息无效';
        }
        return $additional + [
            'code' => self::$errorCode,
            "msg" => $msg,
        ];
    }
}
